package com.org.api.admin.service;

import com.org.api.admin.entity.po.CmsUserRedisIndexModule;
import com.org.api.admin.service.impl.CmsUserRedisServiceImpl;

/**
 * @Description
 * @auther dh
 * @date 2022/3/5 8:56
 */
public interface CmsUserBaseService<T, V> {

    T getModuleDetailData(CmsUserRedisIndexModule cmsUserRedisIndexModule);

    void invokeModuleDetailData(CmsUserRedisIndexModule cmsUserRedisIndexModule);

    V getRedisDataList(CmsUserRedisIndexModule cmsUserRedisIndexModule);

    default String getDetailKey(String moduleType, Long moduleConfigId) {
        return CmsUserRedisServiceImpl.moduleDetailPrefix + moduleType + ":" + moduleConfigId;
    }

    default String getDetailUserKey(String moduleType, Long moduleConfigId) {
        return CmsUserRedisServiceImpl.moduleDetailUserPrefix + moduleType + ":" + moduleConfigId;
    }
}
